package com.ihr360.payroll.model.base;

import com.ihr360.commons.model.IEntity;
import com.ihr360.commons.model.type.FieldSource;
import com.ihr360.commons.model.type.NumOperation;
import com.ihr360.payroll.model.dto.salary.basecode.SalaryFieldType;
import com.ihr360.payroll.model.dto.salary.superclass.AbstractSalaryFieldValue;

public interface ISalaryField<V extends AbstractSalaryFieldValue<V>> extends IEntity<Long> {
	 SalaryFieldType getType();

	 String getCode();

	 String getName();

	 boolean isPersonalSalary();

	 boolean isCompanyCost();

	 NumOperation getPersonalSalaryNumOp();

	 NumOperation getCompanyCostNumOp();

	 V getValueMeta();

	FieldSource getSource();
}